package com.hjwoo.app;

import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.TextView;

import com.hjwoo.app.baseviews.BaseAppCompatActivity;
import com.hjwoo.app.been.UserAccessTokenOBJ;
import com.hjwoo.app.utils.DoubleClickExitHelper;
import com.hjwoo.app.utils.LoanAccessTokenIdKeeper;
import com.hjwoo.app.utils.LoanLog;
import com.umeng.message.PushAgent;
import com.umeng.message.UmengRegistrar;

import org.xutils.view.annotation.ContentView;
import org.xutils.view.annotation.ViewInject;
import org.xutils.x;

@ContentView(R.layout.activity_testlogin)
public class TestLogin extends BaseAppCompatActivity
{

    private static final String TAG = "TestLogin";
    UserAccessTokenOBJ userAccessTokenOBJ;
    @ViewInject(R.id.isLogin)
    private TextView              isLogintv;
    //双击退出
    private DoubleClickExitHelper mDoubleClickExit;

    /**
     * 判断是否是登录状态
     */
    private void refreshLoginstatus()
    {
        userAccessTokenOBJ = LoanAccessTokenIdKeeper.readAccessToken(TestLogin.this);

        if (!userAccessTokenOBJ.getAppSessionId().equals(""))
        {
            isLogintv.setText("登录状态");
        }
        else
        {
            isLogintv.setText("退出状态");
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
//        requestWindowFeature(Window.FEATURE_NO_TITLE); //设置无标题
//        getWindow().setFlags(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);  //设置全屏

//        setContentView(R.layout.activity_testlogin);
        x.view().inject(this);

        userAccessTokenOBJ = new UserAccessTokenOBJ();

        refreshLoginstatus();

        //        如果您不使用集成测试服务来测试数据，那您可以通过普通测试流程查看测试数据。 使用普通测试流程，您的测试数据会与用户的真实使用数据同时处理，从而导致数据污染。
//        使用普通测试流程，请先在程序入口添加以下代码打开调试模式：
//        MobclickAgent.setDebugMode( true );

//        BitmapUtils.Ext.init(this);
//        BitmapUtils.Ext.setDebug(BuildConfig.DEBUG); // 是否输出debug日志, 开启debug会影响性能.

//        UmengUpdateAgent.update(this);

        /* 注意: 此方法请务必调用！
        如果不调用此方法，不仅会导致按照"几天不活跃"条件来推送失效，
        还将导致广播发送不成功以及设备描述红色等问题发生。
        可以只在应用的主Activity中调用此方法，
        但是由于SDK的日志发送策略，
        有可能由于主activity的日志没有发送成功，而导致未统计到日活数据。
        */
        PushAgent.getInstance(this).onAppStart();

        PushAgent mPushAgent = PushAgent.getInstance(this);
        mPushAgent.enable();

        String device_token = UmengRegistrar.getRegistrationId(this);
        LoanLog.i("device_token: ", device_token);

        // 关闭推送
//        mPushAgent.disable();
        // 是否允许推送
        mPushAgent.isEnabled();

//        Intent intent = new Intent(this, WelcomeActivity.class);
//        startActivity(intent);

        mDoubleClickExit = new DoubleClickExitHelper(this);
    }

    @Override
    protected void onRestart()
    {
//        LoanLog.e(TAG,"onRestart");
        refreshLoginstatus();
        super.onRestart();
    }

    @Override
    public void onBackPressed()
    {
//        LoanLog.e(TAG,"退出");
//        finish();
        super.onBackPressed();
    }

    /**
     * 监听返回--是否退出程序
     */
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
        if (keyCode == KeyEvent.KEYCODE_BACK)
        {
            // 是否退出应用
            return mDoubleClickExit.onKeyDown(keyCode, event);
        }
        return super.onKeyDown(keyCode, event);
    }

    public void onMyButtonClick(View view)
    {
        switch (view.getId())
        {
        case R.id.btnlogin:
            startActivity(new Intent(this, TestLogin.class));
            break;
        case R.id.btnRegister:
            startActivity(new Intent(this, TestLogin.class));
            break;
        case R.id.btnLoginOut:
            //退出
            LoanAccessTokenIdKeeper.clear(TestLogin.this);
            refreshLoginstatus();
            break;
        default:

            break;
        }
    }

}
